package com.fatec.lojavirtual.managedbean;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import com.fatec.lojavirtual.entidade.ProdutoEmEstoque;

@ManagedBean
@RequestScoped
public class ProdutoEmEstoqueBean {

	private ProdutoEmEstoque produtoEmEstoqueAtual;
	private List<ProdutoEmEstoque> produtoEmEstoques;
	
	public ProdutoEmEstoqueBean(){
		this.produtoEmEstoqueAtual = new ProdutoEmEstoque();
//		this.setProdutos(new ArrayList<Produto>());
	}

	public void inserir(){
		ProdutoEmEstoqueRN produtoEmEstoqueRN = new ProdutoEmEstoqueRN();
		FacesMessage msg;
		long aux;
		
		if ((aux = produtoEmEstoqueAtual.getId()) == 0)
		{
			produtoEmEstoqueRN.inserir(produtoEmEstoqueAtual);			
			msg = new FacesMessage("Produto cadastrado com sucesso!");			
		}
		else
		{
			produtoEmEstoqueRN.atualizar(produtoEmEstoqueAtual);			
			msg = new FacesMessage("Produto atualizado com sucesso!");
		}
		
		this.setProdutoEmEstoqueAtual(new ProdutoEmEstoque());
		
		FacesContext context = FacesContext.getCurrentInstance();
		context.addMessage(null, msg);
	}
	
	public void remover(ProdutoEmEstoque p){
		ProdutoEmEstoqueRN produtoEmEstoqueRN = new ProdutoEmEstoqueRN();
		produtoEmEstoqueRN.remover(p);
	}
	
	public void editar(ProdutoEmEstoque p){
			this.setProdutoEmEstoqueAtual(p);
	}
	
	public void cancelar(){
		this.setProdutoEmEstoqueAtual(new ProdutoEmEstoque());
	}
	
	public ProdutoEmEstoque getProdutoEmEstoqueAtual() {
		return produtoEmEstoqueAtual;
	}

	public void setProdutoEmEstoqueAtual(ProdutoEmEstoque produtoEmEstoqueAtual) {
		this.produtoEmEstoqueAtual = produtoEmEstoqueAtual;
	}

	public List<ProdutoEmEstoque> getProdutos() {
		ProdutoEmEstoqueRN produtoEmEstoqueRN = new ProdutoEmEstoqueRN();
		this.produtoEmEstoques = produtoEmEstoqueRN.pesquisar();
		return this.produtoEmEstoques;
	}

	public void setProdutos(List<ProdutoEmEstoque> produtoEmEstoques) {
		this.produtoEmEstoques = produtoEmEstoques;
	}
}
